package com.youdoneed.user.role;

import com.youdoneed.user.model.Authority;
import com.youdoneed.user.model.Role;

import java.util.List;

/**
 * 角色服务接口
 *
 * @author Ewing
 * @date 2017.2.8
 */
public interface RoleService {
    /**
     * 根据id查找对应的角色
     *
     * @param id 角色ID
     */
    Role findByRoleId(String id);

    /**
     * 根据角色名称查找对应的角色
     *
     * @param name 角色名称
     */
    List<Role> findByName(String name);

    /**
     * 查找所有的角色
     */
    List<Role> getAllRole();

    /**
     * 添加角色
     */
    Role addRole(String name, String description, String[] authorityIds);

    /**
     * 删除角色
     */
    void deleteRole(String roleId);

    /**
     * 修改角色
     */
    Role updateRole(String roleId, String name, String description, String[] authorityIds);

    /**
     * 查询角色的所有权限
     */
    List<Authority> getRoleAllAuthority(String roleId);
}
